//clodufunctions/todo/task/index.js
const cloud = require('wx-server-sdk')

cloud.init({ 
  env: cloud.DYNAMIC_CURRENT_ENV 
}); 
const db = cloud.database();

exports.get = async (event, context) => {
  // ToDo:后期添加分页查询功能
  const wxContext = cloud.getWXContext()
  return await db.collection('todos').where({_openid:wxContext.OPENID}).get();
}

exports.add  = async (event,context)=>{
  const wxContext = cloud.getWXContext()
  // 检验用户输入数据是否有问题
  if (!event.name || !event.list_id) {
    return {
      errMsg:"缺失参数name或list_id"
    };
  }
  return await db.collection('todos').add({
    data:{
      _openid:wxContext.OPENID,//openid
      alarm:event.alarm,//是否提醒
      checked:false,// 是否选中
      children:[],// 子代办任务 _id
      name:event.name,// 代办事项名字
      time:event.time,// 代办时间 
      order:event.order,// 代办图标颜色
      list_id:event.list_id
    }
  });
}
// 工作完成了
exports.do = async (event,context) =>{
  // 按照一定条件去完成某个工作
  // console.log(event);
  return await db.collection("todos").where({
    _id:event._id
  }).update({
    data:{
      checked:event.checked
    }
  })
}
// 通过时间获取代办事项
exports.getbytime = async(event,context)=>{
  return await db.collection("todos").where({
    time:event.time
  }).get();
}
// 获取本周代办事项 利用包含查询 需要传递进来一周的时间
// 已经完成的任务
exports.weekstodo =  async(event,context)=>{
  // todo交由你们写了
  return await db.collection("todos").where({
    checked:true,
    time:{
      $in:["2022-10-24","2022-10-25","2022-10-26","2022-10-27","2022-10-28","2022-10-29","2022-10-30"]
    }
  }).get();
}